home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
edir101
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
5KB
Path: seq!spell
From: Kevin Jessup <bbwwbb@mixcom.COM>
Subject: v01i014: edir101 - Edir v1.01: extended directory listing, Part01/01
Newsgroups: comp.sources.hp48
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu
Checksum: 3282900046 (verify with brik -cv)
Submitted-by: Kevin Jessup <bbwwbb@mixcom.COM>
Posting-number: Volume 1, Issue 14
Archive-name: edir101/part01
BEGIN_DOC edir.doc
*****************************************************************************
* EDIR Version 1.01 *
* Documentation and program listings for the HP48SX EDIR utility. *
* Submitted to comp.sources.hp48 on August 6th, 1991 *
*****************************************************************************
This version handles ALL HP48SX object types including
those not described in the manual. The display is
the same as in the original version. This version also
uses Bill Wickes PRESERVE program which is included here.
EDIR is a program that provides an extended directory
listing of all variables within the directory from
which it is run. The variable name is displayed,
followed by the variable type and it's size in bytes.
The program output is a graphics object that is then
made available using the graphics application viewer.
Use the UP and DOWN arrows to move through the list.
Use right shift (blue) followed by the UP or DOWN
arrows to rapidly reach the top or bottom of the
display as needed. The last item displayed is a total
byte count for all objects in the current directory.
Hit ON when you are finished viewing to exit the
graphics application and clear the graphic object from
memory.
It may take a couple of minutes to build the graphics
object if you have a large directory.
You should have about 6000 bytes of free memory for
this program to run with a relatively large directory.
The larger the directory, the more memory required to
build the graphics object. If you don't have enough
memory, you'll find out about it as the program builds
the graphic. No damage will occur. Just delete any
garbage on the stack.
I wrote this program as an enhancement to the REVIEW
key when used to review a user directory. I wish the
review key did what this program does. Too bad the
EDIR program is such a run-time memory hog! Those
lucky enough to have a RAM expansion card will probably
use it occaisionally. If you don't, please note that
the 48SX PURGE command has always been a solid performer!
Note that the program listings were generated with the
48SX translate code set equal to 3.
Warranties and Support
----------------------
None provided. Programs are supplied AS IS. This is freeware.
Send comments, guffaws, death-threats, donations, government grants, etc.
to...
Kevin Jessup
9118 N. 85th St.
Milwaukee, WI 53224
Email address: bbwwbb@mixcom.com
END_DOC
*****************************************************
Program name: TYPSTRS (a list of object type strings)
Checksum: B1A9 hex
Size: 365.5
Function: This is a list used by EDIR to get a
textual description of the object type.
Listing:
BYTES: #B1A9h 365.5
BEGIN_RPL typstrs
%%HP: T(3)A(R)F(.);
{ "real" "complex"
"string"
"real array"
"complex array"
"list" "global"
"local" "program"
"algebraic"
"binary" "graphic"
"tagged" "unit"
"xlib" "directory"
"library" "backup"
"command"
"function" "sys binary"
"long real"
"long cmplx"
"linked array"
"character" "code"
"library data"
"external" }
END_RPL
*****************************************************
Program name: EDIR (extended directory listing)
Checksum: 7D64 hex
Size: 642
Function: The EDIR utility. Place EDIR, TYPSTRS
and PRESERVE (described below) in your
"HOME" directory.
Listing:
BYTES: #7D64h 642
BEGIN_RPL edir
%%HP: T(3)A(R)F(.);
\<<
\<< STD PICT PURGE
CLLCD "Checking:" 1
DISP { { # 0h
\<< 0 SWAP \->TAG
OBJ\-> SWAP DROP DUP
" " SWAP + 3 DISP
\>> } { # 37h
\<< VTYPE 1 +
TYPSTRS SWAP GET
\>> } { # 6Ah
\<< BYTES SWAP
DROP DUP 5 ROLL + 4
ROLLD
\>> } } VARS DUP
SIZE 6 * 12 + R\->B
# 83h SWAP BLANK
# 83h # 6h BLANK \->
pro var dg bl
\<< 0 1 var SIZE
FOR i bl 1 3
FOR j 'pro'
j GET 1 GETI # 0h 2
\->LIST 3 ROLLD GET
'var' i GET SWAP
EVAL 1 \->GROB REPL
NEXT # 0h i
1 - 6 * R\->B 2 \->LIST
dg SWAP ROT REPL
'dg' STO
NEXT dg
\>> CLLCD DUP
SIZE # 6h - SWAP
DROP # 0h SWAP 2
\->LIST ROT
"TOTAL BYTES USED: "
SWAP \->STR + 1 \->GROB
REPL PICT STO { }
PVIEW PICT PURGE
\>> PRESERVE
\>>
END_RPL
*****************************************************
Program name: PRESERVE
Checksum: 5418 hex
Size: 46.5
Function: Utility that saves the 48SX flags,
evaluates an expression and restores
the flags.
Author: Bill Wickes
Listing:
BYTES: #5418h 46.5
BEGIN_RPL preserve
%%HP: T(3)A(R)F(.);
\<< RCLF \-> f
\<< EVAL f STOF
\>>
\>>
END_RPL
********************[END]******************